草庐IT

PHPDoc 和 __callStatic

全部标签

php - 如何在 PHPDoc 中记录多个变量声明

我使用短语法来定义类的成员变量,而不是private$a;private$b;private$c;我用private$a,$b,$c;现在我使用PHPDoc像这样告诉IDE每个成员的类型:/**@varclassA*/private$a;/**@varclassB*/private$b;/**@varclassC*/private$c;但是这不适用于短语法:private/**@varclassA*/$a,/**@varclassB*/$b,/**@varclassC*/$c;我做错了什么? 最佳答案 不是你想听到的答案,而是你做不

PHPDoc - 指定数组键的类型

如何在返回数组的PHP方法的文档中指定键的类型?例如,我将其用于对象数组@returnMyClass[]。但是我想注释一个像array('string'=>array(MyClass))这样的数组,这可能吗? 最佳答案 问题多年后,可以使用例如@returnarray来记录数组键和值。对于由整数键索引的字符串值数组。我不知道这种语法在多大程度上是标准的并且得到了很好的支持。PHPCS等工具或Psalm一定要支持。 关于PHPDoc-指定数组键的类型,我们在StackOverflow上找到

php - 作为参数传递时如何将 PHPDoc 匿名函数?

当匿名函数作为参数传递时,我应该如何记录它?例如://Callmy_function(),passing2arguments.my_function('foo',function(){//BodyoftheanonfunctionI'dliketodocument.});提前致谢。 最佳答案 为了记录函数接受闭包,我建议callable:/***Dosomething.*@paramcallable$code*/functionfoo(callable$code){}关于注释,PHPDoc使用了DocBlocks,PHP引擎Toke

php - 如何在 PHPDoc 中标记一个参数是可选的?

我有一个带有可选参数的构造函数。这样做的主要问题是可用性。使用我的框架的开发人员会立即头疼,因为他不知道他是否可以提供一个论据,什么样的论据,或者他是否根本不能。结论:简直糟透了。但是,如果有人安装了像Netbeans这样的合理IDE,PHPDoc可能会有所帮助;)所以:classChildClassextendsParentClass{publicfunction__construct(){$tplFile=func_get_arg(0);if(!isset($tpl)){$tpl='index';}parent::__construct($tpl);}}我如何在这里使用PHPDoc

php - 从非静态方法触发 __callStatic() 的奇怪行为

我在PHP类(v5.3.8)中发现了这种奇怪的行为。你有:classfoo{function__call($func,$args){if($func=='bar')echo"non-static__call";}staticfunction__callStatic($func,$args){if($func=='bar')echo"__callStatic";}functioncallMe(){self::bar();}}然后你做:foo::bar()//outputs'__callStatic'asexpected.$f=newfoo;$f->callMe();//outputs'n

php - 将 phpdoc 转换为 Dash 可用的 docset

我正在尝试获取MagentoDocumentation我可以在Dash中使用的格式.一个article在Dash网站上描述了如何将多种类型的文档导入所需的格式,不幸的是phpdoc不是其中之一。有没有人对我如何实现这一目标有任何建议? 最佳答案 我是Dash的开发者。目前没有phpdoc到docset生成脚本,所以恐怕你只能自己创建一个。但是,我确实建议采取简单的方法,即使用doxygen基于PHP源代码生成文档集(请参阅您链接的article中的“使用Doxygen创建文档集”)。如果您需要帮助,请随时contactme.

php - __callStatic 如果存在非静态函数则不调用

我的代码是这样的:但它会回显:StrictStandards:Non-staticmethodA::CallA()shouldnotbecalledstaticallyin/vagrant/hades_install/public/test.phponline21callA也就是说,CallA没有遇到函数__callStatic如果我想通过A::CallA()调用__callStatic,我该怎么做 最佳答案 作为documentation解释:__callStatic()istriggeredwheninvokinginacces

php - 在 PHPDoc 中记录 Controller 操作的好方法?

我正在尝试找出一种在phpmvc框架中记录Controller操作的好方法。有一种方法可以将操作的url粘贴到那里,这对我来说非常重要,我的问题是我似乎无法找到一种方法将其放入phpdoc的架构中。 最佳答案 我不太明白你的问题/问题。您可以将任何您想要的内容放入phpdocblock中,包括Controller操作的相关URL(如果需要,您甚至可以使用标记):/***Thisissomefooaction.**URL:/foo/bar/baz*/publicfunctionfooAction(/*...*/){//...}就是说,

php - PHPDoc "static"返回类型在这里表示什么?

我正在开发一个Symfony项目,其中的实体由Doctrine管理。以下是我实体的代码:classUser{/***@ORM\OneToMany(targetEntity="Appointment",mappedBy="user")*/private$appointments;/***Getappointments**@return\Doctrine\Common\Collections\ArrayCollection*/publicfunctiongetAppointments(){return$this->appointments;}/***Getappointmentsatasp

PHP Laravel Facade __callStatic 参数列表

不确定如何准确地命名它。在深入研究Laravel4类以了解Facades的工作原理时,我偶然发现了这个:Illuminate\Support\Facades\Facades.php@__callStaticpublicstaticfunction__callStatic($method,$args){$instance=static::getFacadeRoot();switch(count($args)){case0:return$instance->$method();case1:return$instance->$method($args[0]);case2:return$ins